1. Field of the Invention
The present invention concerns digital frequency synthesizers in general and a programmable ringing generator in particular.
2. Description of the Prior Art
Prior art ringing generators were of the discrete component, magnetic type. A separate ringing generator was required for each ringing frequency to be generated. Thus, a five party line required five separate ringing generators each generating an output wave form at a different predetermined frequency. A time multiplex interrupter was then utilized to sequence the generators enabling the one corresponding to the phone to be rung. Such a system generated an excessive amount of heat requiring additional space and equipment for cooling and required a duplicate back-up system in case of failure. Furthermore, the generators were difficult to tune and were heat sensitive causing the output frequency to drift. In an attempt to solve these problems, a programmable ringing generator which digitally synthesized the ringing frequencies was investigated.
Digital frequency synthesizers generate discrete values of a sinusoidal wave form at a selected rate to determine the frequency at which the wave form is generated. The two basic methods for generating these values are recursively and non-recursively. Recursive digital synthesizers examine the different equations relating sinusoidal outputs to previously computed outputs wherein the equations are obtained by applying Z-transformation techniques to the Laplace transform of the output. However, one problem with this type of synthesizer is that the round-off errors associated with each iteration tend to build up and become unbounded. Thus, some type of error compensation must be included in the system.
The non-recursive type of synthesizer does not have this error build up. Typically, the system accesses discrete, quantized samples of a digitized sinusoidal wave form stored in an addressable memory such as a read only memory (ROM). The sample values are then applied to a digital-to-analog converter to generate a stepped sinusoidal wave form which can be smoothed with a filter. However, since the storage is not infinite but is limited to X words of Y bits each, some error will occur which is constant and will not build up.